package com.ruoyi.basedata.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 任务记录对象 t_task_record
 * 
 * @author gdqt
 * @date 2024-04-28
 */
@TableName("t_task_record")
public class TaskRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增ID */
    @TableField("id")
    private Long id;

    /** 租户编号 */
    @Excel(name = "租户编号")
    @TableField("tenant_id")
    private String tenantId;

    /** 任务ID */
    @Excel(name = "任务ID")
    @TableField("task_id")
    private String taskId;

    /** 设备编号 */
    @Excel(name = "设备编号")
    @TableField("terminal_id")
    private String terminalId;

    /** 区域编号 */
    @Excel(name = "区域编号")
    @TableField("sheet_code")
    private String sheetCode;

    /** 管理员 */
    @Excel(name = "管理员")
    @TableField("managerial")
    private String managerial;

    /** 用户编号 */
    @Excel(name = "用户编号")
    @TableField("user_id")
    private String userId;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("start_time")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("end_time")
    private Date endTime;

    /** 照片路径 */
    @Excel(name = "照片路径")
    @TableField("url")
    private String url;

    /** 抄表时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "抄表时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("read_date")
    private Date readDate;

    /** ocr读数 */
    @Excel(name = "ocr读数")
    @TableField("total_flow_ocr")
    private BigDecimal totalFlowOcr;

    /** 置信度 */
    @Excel(name = "置信度")
    @TableField("prob")
    private BigDecimal prob;

    /** 经纬度 */
    @Excel(name = "经纬度")
    @TableField("location")
    private String location;

    /** 人工读数 */
    @Excel(name = "人工读数")
    @TableField("total_flow_manual")
    private BigDecimal totalFlowManual;

    /** 上期读数 */
    @Excel(name = "上期读数")
    @TableField("last_reading")
    private BigDecimal lastReading;

    /** 任务状态，0未结束, 1已结束, 2超时结束 */
    @Excel(name = "任务状态，0未结束, 1已结束, 2超时结束")
    @TableField("task_status")
    private Integer taskStatus;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTenantId(String tenantId) 
    {
        this.tenantId = tenantId;
    }

    public String getTenantId() 
    {
        return tenantId;
    }
    public void setTaskId(String taskId) 
    {
        this.taskId = taskId;
    }

    public String getTaskId() 
    {
        return taskId;
    }
    public void setTerminalId(String terminalId) 
    {
        this.terminalId = terminalId;
    }

    public String getTerminalId() 
    {
        return terminalId;
    }
    public void setSheetCode(String sheetCode) 
    {
        this.sheetCode = sheetCode;
    }

    public String getSheetCode() 
    {
        return sheetCode;
    }
    public void setManagerial(String managerial) 
    {
        this.managerial = managerial;
    }

    public String getManagerial() 
    {
        return managerial;
    }
    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setUrl(String url) 
    {
        this.url = url;
    }

    public String getUrl() 
    {
        return url;
    }
    public void setReadDate(Date readDate) 
    {
        this.readDate = readDate;
    }

    public Date getReadDate() 
    {
        return readDate;
    }
    public void setTotalFlowOcr(BigDecimal totalFlowOcr) 
    {
        this.totalFlowOcr = totalFlowOcr;
    }

    public BigDecimal getTotalFlowOcr() 
    {
        return totalFlowOcr;
    }
    public void setProb(BigDecimal prob) 
    {
        this.prob = prob;
    }

    public BigDecimal getProb() 
    {
        return prob;
    }
    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }
    public void setTotalFlowManual(BigDecimal totalFlowManual) 
    {
        this.totalFlowManual = totalFlowManual;
    }

    public BigDecimal getTotalFlowManual() 
    {
        return totalFlowManual;
    }
    public void setLastReading(BigDecimal lastReading) 
    {
        this.lastReading = lastReading;
    }

    public BigDecimal getLastReading() 
    {
        return lastReading;
    }
    public void setTaskStatus(Integer taskStatus) 
    {
        this.taskStatus = taskStatus;
    }

    public Integer getTaskStatus() 
    {
        return taskStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("tenantId", getTenantId())
            .append("taskId", getTaskId())
            .append("terminalId", getTerminalId())
            .append("sheetCode", getSheetCode())
            .append("managerial", getManagerial())
            .append("userId", getUserId())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("url", getUrl())
            .append("readDate", getReadDate())
            .append("totalFlowOcr", getTotalFlowOcr())
            .append("prob", getProb())
            .append("location", getLocation())
            .append("totalFlowManual", getTotalFlowManual())
            .append("lastReading", getLastReading())
            .append("taskStatus", getTaskStatus())
            .toString();
    }
}
